package com.bifrost.service;

import com.bifrost.entity.TransactionSendLog;
import com.bifrost.exception.SapSendException;
import com.bifrost.model.ResultModel;
import com.bifrost.model.sap.ReportHeader;
import com.bifrost.model.sap.Transaction;
import com.bifrost.model.vo.TransactionVO;
import com.bifrost.task.BaseSendTask;
import com.bifrost.task.ReceiptSendTask;
import com.bifrost.task.ReportSendTask;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Author by yanxiaobo
 * Date on 2018/5/21$.
 */
public interface TransactionService {

    /**
     * 发送小票数据
     * @return
     */
    void sendReceipt(ReceiptSendTask.Uploader uploader);

    /**
     * 交易小票上传ftp
     * @param transactions
     * @param transactionIds
     * @param uploader
     */
    void doUploadTransaction(List<Transaction> transactions, List<Long> transactionIds, ReceiptSendTask.Uploader uploader);

    /**
     * 发送资金报表
     * @param uploader
     */
    void sendFinanceReport(ReportSendTask.Uploader uploader);
    /**
     * 资金报表上传ftp
     * @param reports
     * @param reportsIds
     * @param uploader
     */
    void doUploadReports(List<ReportHeader> reports, List<Long> reportsIds, BaseSendTask.Uploader uploader);

    List<TransactionVO> find();

    ResultModel findSync();


    /* *//**
     * 发送报表数据
     *//*
    void sendReport(ReceiptSendTask.Uploader uploader);

    void save(List<TransactionSendLog> logs, ReceiptSendTask.Uploader uploader, String xml, boolean isReportSaveOperation) throws SapSendException;
*/

}

